/*
*************************************
* PocketGTT
*************************************
This file is part of PocketGTT.

PocketGTT is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

PocketGTT is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with PocketGTT.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef GTT_LINE_H
#define GTT_LINE_H

#include <QObject>
#include <QList>
#include <QStringList>


class GTT_Line : public QObject
{
        Q_OBJECT

    public:
        explicit GTT_Line(QObject *parent = 0);
        Q_PROPERTY(QString LineaNumero READ getLineaNumero WRITE setLineaNumero)
        Q_PROPERTY(QList<bool> RealTime READ getRealTime /*WRITE setFermataNumero*/)
        Q_PROPERTY(QStringList Orario READ getOrario /*WRITE addOrario*/)

    signals:

    public slots:

        // PROPERTY LineaNumero READ function
        QString getLineaNumero();

        // PROPERTY LineaNumero WRITE function
        void setLineaNumero(const QString &num);

        // PROPERTY Orario READ function
        QStringList getOrario();

        // PROPERTY RealTime READ function
        QList<bool> getRealTime();

        // appent a time passage at a stop line
        void addOrario(const QString &time, bool rt = false);

        // print linea description
        // used only in debug mode
        void printLinea();

    private:
        QString     hiddenLineaNumero;
        QList<bool> hiddenRealTime;
        QStringList hiddenOrario;
};

#endif // GTT_LINE_H
